//
//  YMPDFPageView.m
//  TestDemo
//
//  Created by fengxijun on 16/6/24.
//  Copyright © 2016年 goappbox. All rights reserved.
//

#import "YMPDFPageView.h"
#import <CoreText/CoreText.h>

@interface YMPDFPageView ()

@end

@implementation YMPDFPageView

- (instancetype) initWithFrame:(CGRect)frame page:(YMPDFPage *)page {
    self = [super initWithFrame:frame];
    if (self) {
        self.backgroundColor = [UIColor whiteColor];
        self.page = page;
        [self pdf];
    }
    return self;
}

- (void)setPage:(YMPDFPage *)page {
    _page = page;
    [self setNeedsDisplay];
}

- (void)drawRect:(CGRect)rect {
    //坐标转换
    CGContextRef contextRef = UIGraphicsGetCurrentContext();
    CGRect mediaBox = self.page.mediaBox;
    CGRect drawRect = [self getDrawRect:mediaBox];
    CGContextTranslateCTM(contextRef, drawRect.origin.x, self.frame.size.height - drawRect.origin.y);
    CGFloat scale = drawRect.size.height / mediaBox.size.height;
    CGContextScaleCTM(contextRef, scale, - scale);
    CGContextDrawPDFPage (contextRef, self.page.page);
}

- (CGRect)getDrawRect:(CGRect)mediaBox {
    CGFloat width = self.frame.size.width;
    CGFloat height = self.frame.size.height;
    if (self.frame.size.width / self.frame.size.height > mediaBox.size.width / mediaBox.size.height) {
        width = (mediaBox.size.width * height) / mediaBox.size.height;
    } else {
        height = (mediaBox.size.height * width) / mediaBox.size.width;
    }
    
    return CGRectMake((self.frame.size.width - width) / 2.f, (self.frame.size.height - height) / 2.f, width, height);
}

#pragma mark --

- (CGFloat)getfontwidth:(NSString *)text fontsize:(CGFloat)size {
    return 15.f;
}

- (void)pdf {
    
    //获取保存路径
    
    NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    
    NSString *saveDirectory=[paths objectAtIndex:0];
    
    NSString *saveFileName=@"myPDF.pdf";
    
    NSString *newFilePath = [saveDirectory stringByAppendingPathComponent:saveFileName];
    
    const char *filename = [newFilePath UTF8String];
    
    CFStringRef path;
    
    CFURLRef url;
    
    path=CFStringCreateWithCString(NULL, filename, kCFStringEncodingUTF8);
    
    url=CFURLCreateWithFileSystemPath(NULL, path, kCFURLPOSIXPathStyle, 0);
    
    CFRelease(path);
    
    
    //创建PDF保存上下文环境
    CGRect pageRect=CGRectMake(0, 0, 612, 792);
    CGContextRef pdfContext=CGPDFContextCreateWithURL(url, &pageRect, nil);
    CFRelease(url);
    
    [self createInPDFContext:pdfContext pageRect:pageRect];
    
    CGContextRelease(pdfContext);
}

- (void)createInPDFContext:(CGContextRef)pdfContext pageRect:(CGRect)pageRect {
    
    NSString *temtext=[[NSString alloc]init];
    const char *text=(char *)[temtext UTF8String];
    int  width;
    int height;
    // 画推荐信
    //    NSNumber *en=[self.fatherobject valueForKey:@"enabel"];
    NSNumber *en = @(YES);
    
    NSString *firstname = @"Hello", *lastname = @"man";
    
    if(en.boolValue){
        height=700;
        //开始画pdf，开始新的一页
        CGContextBeginPage(pdfContext, &pageRect);
        //设置字体，字体大小等
        CGContextSelectFont(pdfContext, "Helvetica", 30, kCGEncodingMacRoman);
        CGContextSetTextDrawingMode(pdfContext, kCGTextFill);
        CGContextSetRGBFillColor(pdfContext, 0, 0, 0, 1);
        
        //画姓名
        if(firstname != nil || lastname != nil){
            
            if(firstname == nil){
                
                firstname = @"";
                
            }
            
            if(lastname == nil){
                
                lastname = @"";
                
            }
            
            temtext=[NSString stringWithFormat:@"%@ %@",firstname,lastname];
        }
        width = [self getfontwidth:temtext fontsize:30];
        
        text=(char*)[temtext UTF8String];
        
        CGContextSetFontSize(pdfContext, 30);
        
        //关键方法，在指定位置画上text文字，文字必须为char类型
        
        CGContextShowTextAtPoint(pdfContext, (612-width)/2, height, text, strlen(text));
        
        height = height-30;
        
        //划线
        
        CGContextMoveToPoint(pdfContext, 50, height);
        
        CGContextAddLineToPoint(pdfContext, 612-50, height);
        
        CGContextStrokePath(pdfContext);
        
        height=height-20;
        
        
        CGContextEndPage(pdfContext);
        
    }
}

//- (void)createInPDFContext:(CGContextRef)pdfContext pageRect:(CGRect)pageRect {
//    
//    NSString *temtext=[[NSString alloc]init];
//    const char *text=(char *)[temtext UTF8String];
//    int  width;
//    int height;
//    // 画推荐信
//    //    NSNumber *en=[self.fatherobject valueForKey:@"enabel"];
//    NSNumber *en = @(YES);
//    
//    NSString *firstname = @"Hello", *lastname = @"man";
//    
//    if(en.boolValue){
//        height=700;
//        //开始画pdf，开始新的一页
//        CGContextBeginPage(pdfContext, &pageRect);
//        //设置字体，字体大小等
//        CGContextSelectFont(pdfContext, "Helvetica", 30, kCGEncodingMacRoman);
//        CGContextSetTextDrawingMode(pdfContext, kCGTextFill);
//        CGContextSetRGBFillColor(pdfContext, 0, 0, 0, 1);
//        
//        //画姓名
//        if(firstname != nil || lastname != nil){
//            
//            if(firstname == nil){
//                
//                firstname = @"";
//                
//            }
//            
//            if(lastname == nil){
//                
//                lastname = @"";
//                
//            }
//            
//            temtext=[NSString stringWithFormat:@"%@ %@",firstname,lastname];
//        }
//        width = [self getfontwidth:temtext fontsize:30];
//        
//        text=(char*)[temtext UTF8String];
//        
//        CGContextSetFontSize(pdfContext, 30);
//        
//        //关键方法，在指定位置画上text文字，文字必须为char类型
//        
//        CGContextShowTextAtPoint(pdfContext, (612-width)/2, height, text, strlen(text));
//        
//        height = height-30;
//        NSString *street = @"中和街道";
//        NSString *apt = @"apt";
//        NSString *city = @"成都";
//        NSString *state = @"四川";
//        NSString *zip = @"610000";
//        NSString *phone = @"13800002001";
//        NSString *fax = @"028-32643421-123";
//        NSString *Email = @"fx@ga.com";
//        NSString *website = @"http://websit.com";
//        
//        if((street!=nil&&![street isEqualToString:@""])||
//           
//           (apt!=nil&&![apt isEqualToString:@""])||
//           
//           (city!=nil&&![city isEqualToString:@""])||
//           
//           (state!=nil&&![state isEqualToString:@""])||
//           
//           (zip!=nil&&![zip isEqualToString:@""])){
//            
//            if(street==nil){
//                
//                street=@"";
//                
//            }
//            
//            if(apt==nil){
//                
//                street=@"";
//                
//            }
//            
//            if(city==nil){
//                
//                city=@"";
//                
//            }
//            
//            if(state==nil){
//                
//                state=@"";
//                
//            }
//            
//            if(zip==nil){
//                
//                zip=@"";
//                
//            }
//            
//            temtext=[NSString stringWithFormat:@"%@,%@,%@,%@,%@",street,apt,city,state,zip];
//            
//            text=(char *)[temtext UTF8String];
//            
//            width=[self getfontwidth:temtext fontsize:13];
//            
//            CGContextSetFontSize(pdfContext, 13);
//            
//            CGContextShowTextAtPoint(pdfContext, (612-width)/2, height, text, strlen(text));
//            
//            height=height-13;
//            
//        }
//        
//        if(phone==nil){
//            
//            phone=@"";
//            
//        }
//        
//        if(fax==nil){
//            
//            fax=@"";
//            
//        }
//        
//        if(Email==nil){
//            
//            Email=@"";
//            
//        }
//        
//        if(website==nil){
//            
//            website=@"";
//            
//        }
//        
//        if(![phone isEqualToString:@""]||
//           
//           ![fax isEqualToString:@""]||
//           
//           ![Email isEqualToString:@""]||
//           
//           ![website isEqualToString:@""]){
//            
//            temtext=[NSString stringWithFormat:@"Phone:%@, Fax:%@, Email:%@, Website:%@",phone,fax,Email,website];
//            
//            text=(char *)[temtext UTF8String];
//            
//            width=[self getfontwidth:temtext fontsize:13];
//            
//            CGContextSetFontSize(pdfContext, 13);
//            
//            CGContextShowTextAtPoint(pdfContext, (612-width)/2, height, text, strlen(text));
//            
//            height=height-13;
//            
//        }
//        //划线
//        
//        CGContextMoveToPoint(pdfContext, 50, height);
//        
//        CGContextAddLineToPoint(pdfContext, 612-50, height);
//        
//        CGContextStrokePath(pdfContext);
//        
//        height=height-20;
//        
//        //画cotterletter内容
//        
//        NSString *myapt=@"apt";
//        
//        NSString *mycity= @"city";
//        
//        NSString *mycompanyname=@"company name";
//        
//        NSString *myfirstname= @"myFName";
//        
//        NSString *mylastname=@"myLName";
//        
//        NSString *myposition=NSStringFromCGPoint(CGPointMake(56.f, 39.f));
//        
//        NSString *mystate=@"mystate";
//        
//        NSString *mystreet=@"mystreet";
//        
//        NSString *mytitle=@"mytitle";
//        
//        NSString *myzip=@"myzip";
//        
//        NSDate *mydate=[NSDate date];
//
//        
////                    NSManagedObject *myobject=[DataController getcontactinfo:self.fatherid];
////
////                    NSString *myapt=[myobject valueForKey:@"apt"];
////        
////                    NSString *mycity=[myobject valueForKey:@"city"];
////        
////                    NSString *mycompanyname=[myobject valueForKey:@"companyname"];
////        
////                    NSString *myfirstname=[myobject valueForKey:@"firstname"];
////        
////                    NSString *mylastname=[myobject valueForKey:@"lastname"];
////        
////                    NSString *myposition=[myobject valueForKey:@"postion"];
////        
////                    NSString *mystate=[myobject valueForKey:@"state"];
////        
////                    NSString *mystreet=[myobject valueForKey:@"street"];
////        
////                    NSString *mytitle=[myobject valueForKey:@"title"];
////        
////                    NSString *myzip=[myobject valueForKey:@"zip"];
////        
////                    NSDate *mydate=[myobject valueForKey:@"date"];
//        
//        
//        
//        if(mydate!=nil){
//            
//            NSDateFormatter *myformatter=[[NSDateFormatter alloc]init];
//            
//            [myformatter setDateFormat:@"MMMM, yyyy"];
//            
//            temtext=[NSString stringWithFormat:@"%@",[myformatter stringFromDate:mydate]];
//            
////            [myformatter release];
//            
//            text=(char *)[temtext UTF8String];
//            
//            CGContextSetFontSize(pdfContext, 13);
//            
//            CGContextShowTextAtPoint(pdfContext, 50, height, text, strlen(text));
//            
//            height=height-30;
//            
//        }
//        
//        if((mytitle!=nil&&![mytitle isEqualToString:@""])||
//           
//           (myfirstname!=nil&&![myfirstname isEqualToString:@""])||
//           
//           (mylastname!=nil&&![mylastname isEqualToString:@""])){
//            
//            temtext=[NSString stringWithFormat:@"%@ %@ %@",mytitle,myfirstname,mylastname];
//            
//            height=[self plaintextatwith:50 width:450 text:temtext height:height fontsize:13 context:pdfContext];
//            
//            height=height-14;
//            
//        }
//        
//        
//        
//        if(myposition!=nil&&![myposition isEqualToString:@""]){
//            
//            temtext=[NSString stringWithFormat:@"%@",myposition];
//            
//            height=[self plaintextatwith:50 width:450 text:temtext height:height fontsize:13 context:pdfContext];
//            
//            height=height-14;
//            
//        }
//        
//        
//        if(mycompanyname!=nil&&![mycompanyname isEqualToString:@""]){
//            
//            temtext=[NSString stringWithFormat:@"%@",mycompanyname];
//            
//            height=[self plaintextatwith:50 width:450 text:temtext height:height fontsize:13 context:pdfContext];
//            
//            height=height-14;
//            
//        }
//        
//        
//        
//        
//        
//        if((![myapt isEqualToString:@""]&&myapt!=nil)||
//           
//           (![mystreet isEqualToString:@""]&&mystreet!=nil)){
//            
//            temtext=[NSString stringWithFormat:@"%@.,%@",myapt,mystreet];
//            
//            height=[self plaintextatwith:50 width:450 text:temtext height:height fontsize:13 context:pdfContext];
//            
//            height=height-14;
//            
//        }
//        
//        
//        if((mycity!=nil&&![mycity isEqualToString:@""])||
//           
//           (mystate!=nil&&![mystate isEqualToString:@""])||
//           
//           (myzip!=nil&&![myzip isEqualToString:@""])){
//            
//            temtext=[NSString stringWithFormat:@"%@,%@,%@",mycity,mystate,myzip];
//            
//            height=[self plaintextatwith:50 width:450 text:temtext height:height fontsize:13 context:pdfContext];
//            
//            height=height-14;
//            
//        }
//        
//        
//        if((mytitle!=nil&&![mytitle isEqualToString:@""])||
//           
//           (mylastname!=nil&&![mylastname isEqualToString:@""])){
//            
//            height=height-15;
//            
//            temtext=[NSString stringWithFormat:@"Dear %@.%@",mytitle,mylastname];
//            
//            height=[self plaintextatwith:50 width:450 text:temtext height:height fontsize:13 context:pdfContext];
//            
//            height=height-40;
//            
//        }
//        
//        
//        
//        if(self.coverletter!=nil&&![self.coverletter isEqualToString:@""]){
//            
//            temtext=[NSString stringWithFormat:@"%@",self.coverletter];
//            
//            height=[self plaintextatwith:50 width:450 text:temtext height:height fontsize:13 context:pdfContext];
//            
//        }
//        
//        //结束
//        
//        CGContextEndPage(pdfContext);
//        
//    }
//    
//    if(YES){
//        
////        //开始画resume内容
////        
////        CGContextBeginPage(pdfContext, &pageRect);
////        
////        CGContextSelectFont(pdfContext, "Helvetica", 30, kCGEncodingMacRoman);
////        
////        CGContextSetTextDrawingMode(pdfContext, kCGTextFill);
////        
////        CGContextSetRGBFillColor(pdfContext, 0, 0, 0, 1);
//        
//        //显示first和lastname
//        
//        
////        if(firstname !=nil||lastname!=nil){
////            
////            if(firstname==nil)
////                
////                firstname=@"";
////            
////            if(lastname==nil)
////                
////                lastname = @"";
////            
////            temtext=[NSString stringWithFormat:@"%@ %@",firstname, lastname];
////            
////            width=[self getfontwidth:temtext fontsize:30];
////            
////            height=700;
////            
////            text=(char*)[temtext UTF8String];
////            
////            CGContextShowTextAtPoint(pdfContext, (612-width)/2, height, text, strlen(text));
////            
////        }
////        
////        
////        //显示street等basicinfo信息
////        
////        //street，apt
////        
////        if((street!=nil &&![street isEqualToString:@""])||(apt!=nil&&![apt isEqualToString:@""])){
////            
////            if(street==nil){
////                
////                street=@"";
////                
////            }
////            
////            if(apt==nil){
////                
////                apt=@"";
////                
////            }
////            
////            height=[self getfontheight:temtext fontsize:10 height:height];
////            
////            CGContextSelectFont(pdfContext, "Helvetica", 10, kCGEncodingMacRoman);
////            
////            temtext=[NSString stringWithFormat:@"%@,%@",street,apt];
////            
////            width=[self getfontwidth:temtext fontsize:10];
////            
////            text=(char *)[temtext UTF8String];
////            
////            CGContextShowTextAtPoint(pdfContext, (612-width)/2, height, text,strlen(text));
////            
////        }
////        
////        
////        
////        //city,state zip
////        
////        if((city!=nil&&![city  isEqualToString:@""])||
////           
////           (state!=nil&&![state isEqualToString:@""])||
////           
////           (zip!=nil&&![state isEqualToString:@""])){
////            
////            if(city==nil){
////                
////                city=@"";
////                
////            }
////            
////            if(state==nil){
////                
////                state=@"";
////                
////            }
////            
////            if(zip==nil){
////                
////                zip=@"";
////                
////            }
////            
////            height=[self getfontheight:temtext fontsize:10 height:height];
////            
////            CGContextSelectFont(pdfContext, "Helvetica", 10,kCGEncodingMacRoman );
////            
////            temtext=[NSString stringWithFormat:@"%@,%@,%@",city,state,zip];
////            
////            width=[self getfontwidth:temtext fontsize:10];
////            
////            text=(char *)[temtext UTF8String];
////            
////            CGContextShowTextAtPoint(pdfContext, (612-width)/2, height, text, strlen(text));
////            
////        }
////        
////        
////        
////        //phone
////        
////        if(phone!=nil&&![phone isEqualToString:@""]){
////            
////            height=[self getfontheight:temtext fontsize:10 height:height];
////            
////            CGContextSelectFont(pdfContext, "Helvetica", 10,kCGEncodingMacRoman );
////            
////            temtext=[NSString stringWithFormat:@"Phone: %@",phone];
////            
////            width=[self getfontwidth:temtext fontsize:10];
////            
////            text=(char *)[temtext UTF8String];
////            
////            CGContextShowTextAtPoint(pdfContext, (612-width)/2, height, text, strlen(text));
////            
////        }
////        
////        
////        
////        //fax
////        
////        if(fax!=nil&&![fax isEqualToString:@""]){
////            
////            height=[self getfontheight:temtext fontsize:10 height:height];
////            
////            CGContextSelectFont(pdfContext, "Helvetica", 10,kCGEncodingMacRoman );
////            
////            temtext=[NSString stringWithFormat:@"Fax: %@",fax];
////            
////            width=[self getfontwidth:temtext fontsize:10];
////            
////            text=(char *)[temtext UTF8String];
////            
////            CGContextShowTextAtPoint(pdfContext, (612-width)/2, height, text, strlen(text));
////            
////        }
////        
////        
////        
////        //Email
////        
////        if(Email!=nil&&![Email isEqualToString:@""]){
////            
////            height=[self getfontheight:temtext fontsize:10 height:height];
////            
////            temtext=[NSString stringWithFormat:@"Email: %@",Email];
////            
////            width=[self getfontwidth:temtext fontsize:10];
////            
////            text=(char *)[temtext UTF8String];
////            
////            CGContextShowTextAtPoint(pdfContext, (612-width)/2, height, text, strlen(text));
////            
////        }
////        
////        
////        
////        //website
////        
////        if(website!=nil&&![website isEqualToString:@""]){
////            
////            height=[self getfontheight:temtext fontsize:10 height:height];
////            
////            temtext=[NSString stringWithFormat:@"Website: %@",website];
////            
////            width=[self getfontwidth:temtext fontsize:10];
////            
////            text=(char *)[temtext UTF8String];
////            
////            CGContextShowTextAtPoint(pdfContext, (612-width)/2, height, text, strlen(text));
////            
////        }
//        
//        
//        
//        
//        
//        
//        
//        //Objective
//        
//        if(self.objective!=nil&&![self.objective isEqualToString:@""]){
//            
//            //画线
//            
//            height=[self getfontheight:temtext fontsize:10 height:height];
//            
//            CGContextMoveToPoint(pdfContext, 50, height);
//            
//            CGContextAddLineToPoint(pdfContext, 612-50, height);
//            
//            CGContextStrokePath(pdfContext);
//            
//            
//            
//            height=height-20;
//            
//            text=(char *)[@"Objective" UTF8String];
//            
//            CGContextSetFontSize(pdfContext, 15);
//            
//            CGContextShowTextAtPoint(pdfContext, 55, height, text, strlen(text));
//            
//            
//            
//            //  CGContextSetFontSize(pdfContext, 10);
//            
//            height=height+13;
//            
//            temtext=[NSString stringWithFormat:@"%@",self.objective];
//            
//            height=[self plaintextatwith:150 width:350 text:temtext height:height fontsize:13 context:pdfContext];
//            
//        }
//        
//        //5个可以排序的
//        
//        for (int i=0;i<5;i++){
//            
//            if([OrderData getskillnumber]==i){                  //skill
//                
//                if(self.skills!=nil&&[self.skills count]!=0){
//                    
//                    // skill划线
//                    
//                    height=[self getfontheight:temtext fontsize:15 height:height];
//                    
//                    CGContextMoveToPoint(pdfContext, 50, height);
//                    
//                    CGContextAddLineToPoint(pdfContext, 612-50, height);
//                    
//                    CGContextStrokePath(pdfContext);
//                    
//                    height=height-20;
//                    
//                    text=(char *)[@"Skills" UTF8String];
//                    
//                    CGContextSetFontSize(pdfContext, 15);
//                    
//                    CGContextShowTextAtPoint(pdfContext, 55, height, text, strlen(text));
//                    
//                    
//                    
//                    //skill内容
//                    
//                    //height=height+13;
//                    
//                    for(int i=0;i<[self.skills count];i++){
//                        
//                        NSManagedObject *object=[self.skills objectAtIndex:i];
//                        
//                        temtext=[NSString stringWithFormat:@"* %@",[object valueForKey:@"skill"]];
//                        
//                        height=[self plaintextatwith:150 width:350 text:temtext height:height fontsize:13 context:pdfContext];
//                        
//                        //  height=height-13;
//                        
//                        
//                        
//                    }
//                    
//                    
//                    
//                    
//                    
//                }
//                
//            }else if([OrderData getothernumber]==i){                //other
//                
//                if(self.others!=nil&&[self.others count]!=0){
//                    
//                    // other划线
//                    
//                    height=[self getfontheight:temtext fontsize:15 height:height];
//                    
//                    CGContextMoveToPoint(pdfContext, 50, height);
//                    
//                    CGContextAddLineToPoint(pdfContext, 612-50, height);
//                    
//                    CGContextStrokePath(pdfContext);
//                    
//                    
//                    
//                    height=height-20;
//                    
//                    text=(char *)[@"Others" UTF8String];
//                    
//                    CGContextSetFontSize(pdfContext, 15);
//                    
//                    CGContextShowTextAtPoint(pdfContext, 55, height, text, strlen(text));
//                    
//                    //other内容
//                    
//                    for(int i=0;i<[self.others count];i++){
//                        
//                        NSManagedObject *object=[self.others objectAtIndex:i];
//                        
//                        temtext=[NSString stringWithFormat:@"* %@",[object valueForKey:@"other"]];
//                        
//                        height=[self plaintextatwith:150 width:350 text:temtext height:height fontsize:13 context:pdfContext];
//                        
//                        //  height=height-13;
//                        
//                        
//                        
//                    }
//                    
//                    
//                    
//                }
//                
//            }else if([OrderData getexperiencenumber]==i){                   //experience
//                
//                if(self.experience!=nil&&[self.experience count]!=0){
//                    
//                    //排序
//                    
//                    NSSortDescriptor *descriptor=[NSSortDescriptor sortDescriptorWithKey:@"start" ascending:NO];
//                    
//                    [self.experience setArray:[self.experience sortedArrayUsingDescriptors:[NSArray arrayWithObjects:descriptor, nil]]];
//                    
//                    // other划线
//                    
//                    height=[self getfontheight:temtext fontsize:15 height:height];
//                    
//                    CGContextMoveToPoint(pdfContext, 50, height);
//                    
//                    CGContextAddLineToPoint(pdfContext, 612-50, height);
//                    
//                    CGContextStrokePath(pdfContext);
//                    
//                    
//                    
//                    height=height-20;
//                    
//                    text=(char *)[@"Experience" UTF8String];
//                    
//                    CGContextSetFontSize(pdfContext, 15);
//                    
//                    CGContextShowTextAtPoint(pdfContext, 55, height, text, strlen(text));
//                    
//                    
//                    
//                    //experience内容
//                    
//                    for(int i=0;i<[self.experience count];i++){
//                        
//                        NSManagedObject *object=[self.experience objectAtIndex:i];
//                        
//                        NSString *position=[object valueForKey:@"position"];
//                        
//                        NSString *companyname=[object valueForKey:@"companyname"];
//                        
//                        NSString *location=[object valueForKey:@"location"];
//                        
//                        NSDate *startdate=[object valueForKey:@"start"];
//                        
//                        NSDate *enddate=[object valueForKey:@"end"];
//                        
//                        NSString *thisid=[object valueForKey:@"thisid"];
//                        
//                        
//                        
//                        temtext=[NSString stringWithFormat:@"%@",position];
//                        
//                        height=[self plaintextatwith:150 width:350 text:temtext height:height fontsize:15 context:pdfContext];
//                        
//                        
//                        
//                        height=height-13;
//                        
//                        temtext=[NSString stringWithFormat:@"%@, %@",companyname,location];
//                        
//                        height=[self plaintextatwith:180 width:320 text:temtext height:height fontsize:13 context:pdfContext];
//                        
//                        
//                        
//                        height=height-13;
//                        
//                        NSDateFormatter *timeformatter=[[NSDateFormatter alloc]init];
//                        
//                        [timeformatter setDateFormat:@"MMMM, yyyy"];
//                        
//                        NSNumber *number=(NSNumber*)[object valueForKey:@"currentjob"];
//                        
//                        if(!number.boolValue){
//                            
//                            temtext=[NSString stringWithFormat:@"%@ ~ %@",[timeformatter stringFromDate:startdate],[timeformatter stringFromDate:enddate]];
//                            
//                        }else{
//                            
//                            temtext=[NSString stringWithFormat:@"%@ ~ Present",[timeformatter stringFromDate:startdate]];
//                            
//                        }
//                        
//                        [timeformatter release];
//                        
//                        height=[self plaintextatwith:180 width:320 text:temtext height:height fontsize:13 context:pdfContext];
//                        
//                        
//                        
//                        NSMutableArray *responsibility=[DataController getresponsibility:thisid];
//                        
//                        NSLog(@"responsibility cout:%d \n responsibility context:%@",[responsibility count],responsibility);
//                        
//                        for(int j=0;j<[responsibility count];j++){
//                            
//                            NSManagedObject *object=[responsibility objectAtIndex:j];
//                            
//                            NSString *respon=[object valueForKey:@"responsibility"];
//                            
//                            temtext=[NSString stringWithFormat:@"* %@",respon];
//                            
//                            height=[self plaintextatwith:150 width:350 text:temtext height:height fontsize:13 context:pdfContext];
//                            
//                            height=height-13;
//                            
//                            NSLog(@"J=%d",j);
//                            
//                        }
//                        
//                        height=height-15;
//                        
//                    }
//                    
//                    
//                }
//                
//            }else if([OrderData geteducationnumber]==i){                    //Education
//                
//                if(self.education!=nil&&[self.education count]!=0){
//                    
//                    //排序
//                    
//                    NSSortDescriptor *descriptor=[NSSortDescriptor sortDescriptorWithKey:@"starttime" ascending:NO];
//                    
//                    [self.education setArray:[self.education sortedArrayUsingDescriptors:[NSArray arrayWithObjects:descriptor, nil]]];
//                    
//                    
//                    
//                    // other划线
//                    
//                    height=[self getfontheight:temtext fontsize:15 height:height];
//                    
//                    CGContextMoveToPoint(pdfContext, 50, height);
//                    
//                    CGContextAddLineToPoint(pdfContext, 612-50, height);
//                    
//                    CGContextStrokePath(pdfContext);
//                    
//                    height=height-20;
//                    
//                    text=(char *)[@"Education" UTF8String];
//                    
//                    CGContextSetFontSize(pdfContext, 15);
//                    
//                    CGContextShowTextAtPoint(pdfContext, 55, height, text, strlen(text));
//                    
//                    
//                    
//                    //内容
//                    
//                    for(int i=0;i<[self.education count];i++){
//                        
//                        NSManagedObject *object=[self.education objectAtIndex:i];
//                        
//                        NSString *schoolname=[object valueForKey:@"school"];
//                        
//                        NSDate *startdate=[object valueForKey:@"starttime"];
//                        
//                        NSDate *enddate=[object valueForKey:@"endtime"];
//                        
//                        NSString *comment=[object valueForKey:@"comment"];
//                        
//                        NSString *major=[object valueForKey:@"major"];
//                        
//                        
//                        
//                        //height=height-13;
//                        
//                        temtext=[NSString stringWithFormat:@"%@",schoolname];
//                        
//                        height=[self plaintextatwith:150 width:350 text:temtext height:height fontsize:15 context:pdfContext];
//                        
//                        
//                        
//                        height=height-13;
//                        
//                        NSDateFormatter *timeformatter=[[NSDateFormatter alloc]init];
//                        
//                        [timeformatter setDateFormat:@"MMMM, yyyy"];
//                        
//                        temtext=[NSString stringWithFormat:@"%@ ~ %@",[timeformatter stringFromDate:startdate],[timeformatter stringFromDate:enddate]];
//                        
//                        [timeformatter release];
//                        
//                        height=[self plaintextatwith:180 width:320 text:temtext height:height fontsize:13 context:pdfContext];
//                        
//                        
//                        
//                        height=height-13;
//                        
//                        temtext=[NSString stringWithFormat:@"%@",major];
//                        
//                        height=[self    plaintextatwith:180 width:320 text:temtext height:height fontsize:13 context:pdfContext];
//                        
//                        
//                        
//                        height=height-13;
//                        
//                        temtext=[NSString stringWithFormat:@"%@",comment];
//                        
//                        height=[self plaintextatwith:180 width:320 text:temtext height:height fontsize:13 context:pdfContext];
//                        
//                        
//                        
//                    }
//                    
//                    
//                    
//                }
//                
//            }else if([OrderData getawardnumber]==i){            //award
//                
//                if(self.awards!=nil&&[self.awards count]!=0){
//                    
//                    //排序
//                    
//                    NSSortDescriptor *descriptor=[NSSortDescriptor sortDescriptorWithKey:@"awarddate" ascending:NO];
//                    
//                    [self.awards setArray:[self.awards sortedArrayUsingDescriptors:[NSArray arrayWithObjects:descriptor, nil]]];
//                    
//                    // other划线
//                    
//                    height=[self getfontheight:temtext fontsize:15 height:height];
//                    
//                    CGContextMoveToPoint(pdfContext, 50, height);
//                    
//                    CGContextAddLineToPoint(pdfContext, 612-50, height);
//                    
//                    CGContextStrokePath(pdfContext);
//                    
//                    
//                    
//                    height=height-20;
//                    
//                    text=(char *)[@"Awards" UTF8String];
//                    
//                    CGContextSetFontSize(pdfContext, 15);
//                    
//                    CGContextShowTextAtPoint(pdfContext, 55, height, text, strlen(text));
//                    
//                    //award内容
//                    
//                    for(int i=0;i<[self.awards count];i++){
//                        
//                        NSManagedObject *object=[self.awards objectAtIndex:i];
//                        
//                        NSString *comment=[object valueForKey:@"comment"];
//                        
//                        NSString *name=[object valueForKey:@"name"];
//                        
//                        NSDate *awarddate=[object valueForKey:@"awarddate"];
//                        
//                        
//                        
//                        temtext=[NSString stringWithFormat:@"%@",name];
//                        
//                        height= [self plaintextatwith:150 width:350 text:temtext height:height fontsize:15 context:pdfContext];
//                        
//                        
//                        
//                        height=height-13;
//                        
//                        NSDateFormatter *timeformatter=[[NSDateFormatter alloc]init];
//                        
//                        [timeformatter setDateFormat:@"MMMM, dd, yyyy"];
//                        
//                        temtext=[NSString stringWithFormat:@"%@",[timeformatter stringFromDate:awarddate]];
//                        
//                        [timeformatter release];
//                        
//                        
//                        height=[self plaintextatwith:180 width:320 text:temtext height:height fontsize:15 context:pdfContext];
//                        
//                        height=height-13;
//                        
//                        temtext=[NSString stringWithFormat:@"%@",comment];
//                        
//                        height=[self plaintextatwith:180 width:320 text:temtext height:height fontsize:13 context:pdfContext];
//                        
//                        
//                        
//                        height=height-15;
//                        
//                    }
//                    
//                }
//                
//            }
//            
//        }
//        
//        CGContextEndPage(pdfContext);
//    }
//}

- (CGFloat)plaintextatwith:(int)padding width:(int)width text:(NSString *)text height:(int)height fontsize:(CGFloat)size context:(CGContextRef)pdfContext {
    return 50.f;
}

@end
